package org.dromara.system.domain.vo;

import org.dromara.system.domain.AlarmIndicator;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;



/**
 * 监测点位视图对象 alarm_indicator
 *
 * @author Lion Li
 * @date 2025-10-27
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = AlarmIndicator.class)
public class AlarmIndicatorVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 采集器Id
     */
    @ExcelProperty(value = "采集器Id")
    private String collectorId;

    /**
     * 工艺位号
     */
    @ExcelProperty(value = "工艺位号")
    private String sysNum;

    /**
     * 点位名称
     */
    @ExcelProperty(value = "点位名称")
    private String name;

    /**
     * 监测项
     */
    @ExcelProperty(value = "监测项")
    private String indicatorType;

    /**
     * 监测项名称
     */
    @ExcelProperty(value = "监测项名称")
    private String indicatorTypeName;

    /**
     * 高报阈值
     */
    @ExcelProperty(value = "高报阈值")
    private Long highAlarm;

    /**
     * 高高报阈值
     */
    @ExcelProperty(value = "高高报阈值")
    private Long highHighAlarm;

    /**
     * 低报阈值
     */
    @ExcelProperty(value = "低报阈值")
    private Long lowAlarm;

    /**
     * 低低报阈值
     */
    @ExcelProperty(value = "低低报阈值")
    private Long lowLowAlarm;

    /**
     * 仪表上限
     */
    @ExcelProperty(value = "仪表上限")
    private Long rangeTop;

    /**
     * 仪表下限
     */
    @ExcelProperty(value = "仪表下限")
    private Long rangeBottom;

    /**
     * 实时值
     */
    @ExcelProperty(value = "实时值")
    private Double realValue;

    /**
     * 所属控制系统 1：DCS 2：SIS 3：GDS 4：控制回路 5：MES
     */
    @ExcelProperty(value = "所属控制系统")
    private Long controlSystem;

    /**
     * 报警类型 1：A类报警 2：B类报警 3：一级报警 4：二级报警
     */
    @ExcelProperty(value = "报警类型")
    private Long alarmType;

    /**
     * 位号描述
     */
    @ExcelProperty(value = "位号描述")
    private String tagDescription;


}
